In distributed systems, the replication of shared mutable data has been widely studied. When mutable data is replicated there is a need to consider the consistency model used to control the level of divergence of the different replicas as well as transmission costs to synchronize the divergent replicas. Many replication systems provide synchronous replication in which, at a predefined interval, the divergent systems are brought to a desired consistency. At the given interval, such systems generally perform the desired synchronization without accounting for the degree of change or the amount of data traffic on the communication channel, etc. However, communication channel costs may be significant. For example, during peak traffic times, carriers may charge higher rates for use of a communication infrastructure.
On the other hand, using preset intervals to replicate the data may cause data to become unacceptably stale in the system that is attempting to maintain consistency. This is so because in many applications, the rate of change to data is not constant. That is, data changes may have periods of quiescence followed by bursts of data changes related to the underlying application whose data is being captured. For example, data related to stock markets will tend to experience significant changes while stock exchanges are open and insignificant changes while stock exchanges are closed. However, by synchronizing the data in fixed intervals, fewer synchronization events may occur during peak changes and unnecessary synchronizing events may occur when data is essentially unchanged.
A system that provides for consistency between replicated databases and provides replication or synchronization that is based on the rate of change of the data as well as connection issues is desirable.